package br.com.maps.datadigester.shared.bean;

import java.math.BigDecimal;

import jmine.tec.datadigester.positional.annotations.PositionalBigDecimalEntry;
import jmine.tec.datadigester.positional.annotations.PositionalDateEntry;
import jmine.tec.datadigester.positional.annotations.PositionalFileLayout;
import jmine.tec.datadigester.positional.annotations.PositionalIntEntry;
import jmine.tec.datadigester.positional.annotations.PositionalLongEntry;
import jmine.tec.datadigester.positional.annotations.PositionalStringEntry;
import jmine.tec.datadigester.positional.annotations.PositionalTimestampEntry;
import bancosys.tec.datadigester.DigesterBean;
import bancosys.tec.utils.date.Date;
import bancosys.tec.utils.date.Timestamp;

/**
 * Bean de teste para o layout posicional
 * 
 * @author israel.crisanto
 */
@PositionalFileLayout
public class PositionalTestBean implements DigesterBean {

    private String nome;

    private Date dtNascimento;

    private Timestamp timestamp;

    private long numeroLong;

    private BigDecimal numeroDecimal;

    private BigDecimal numeroDecimalComCasas;

    private int numeroInt;

    /**
     * @return the nome
     */
    public String getNome() {
        return this.nome;
    }

    /**
     * @param nome the nome to set
     */
    @PositionalStringEntry(start = 0, size = 5)
    public void setNome(String nome) {
        this.nome = nome;
    }

    /**
     * @return the dtNascimento
     */
    public Date getDtNascimento() {
        return this.dtNascimento;
    }

    /**
     * @param dtNascimento the dtNascimento to set
     */
    @PositionalDateEntry(start = 5, size = 8)
    public void setDtNascimento(Date dtNascimento) {
        this.dtNascimento = dtNascimento;
    }

    /**
     * @return the timestamp
     */
    public Timestamp getTimestamp() {
        return this.timestamp;
    }

    /**
     * @param timestamp the timestamp to set
     */
    @PositionalTimestampEntry(start = 13, size = 14)
    public void setTimestamp(Timestamp timestamp) {
        this.timestamp = timestamp;
    }

    /**
     * @return the numeroLong
     */
    public long getNumeroLong() {
        return this.numeroLong;
    }

    /**
     * @param numeroLong the numeroLong to set
     */
    @PositionalLongEntry(start = 27, size = 5)
    public void setNumeroLong(long numeroLong) {
        this.numeroLong = numeroLong;
    }

    /**
     * @return the numeroDecimal
     */
    public BigDecimal getNumeroDecimal() {
        return this.numeroDecimal;
    }

    /**
     * @param numeroDecimal the numeroDecimal to set
     */
    @PositionalBigDecimalEntry(start = 32, size = 5)
    public void setNumeroDecimal(BigDecimal numeroDecimal) {
        this.numeroDecimal = numeroDecimal;
    }

    /**
     * @return the numeroInt
     */
    public int getNumeroInt() {
        return this.numeroInt;
    }

    /**
     * @param numeroInt the numeroInt to set
     */
    @PositionalIntEntry(start = 37, size = 3)
    public void setNumeroInt(int numeroInt) {
        this.numeroInt = numeroInt;
    }

    /**
     * @return the numeroDecimalComCasas
     */
    public BigDecimal getNumeroDecimalComCasas() {
        return this.numeroDecimalComCasas;
    }

    /**
     * @param numeroDecimalComCasas the numeroDecimalComCasas to set
     */
    @PositionalBigDecimalEntry(start = 40, size = 8, scale = 3)
    public void setNumeroDecimalComCasas(BigDecimal numeroDecimalComCasas) {
        this.numeroDecimalComCasas = numeroDecimalComCasas;
    }

    /**
     * {@inheritDoc}
     */
    public boolean isComplete() {
        // TODO Auto-generated method stub
        return false;
    }

    /**
     * {@inheritDoc}
     */
    public int getNumberOfItems() {
        // TODO Auto-generated method stub
        return 0;
    }

    /**
     * {@inheritDoc}
     */
    public Date getFileDate() {
        // TODO Auto-generated method stub
        return null;
    }

}
